Solving differential Equations